_require local "../../../../basis.smi"
_require local "../../../libs/config/main/Config.smi"
(* _require local "../../../extensions/debug/main/Bug.smi" *)
_require local "./CoreUtils.smi"
_require local "./TempFile.smi"
_require "./ShellUtils.smi"
_require "./Filename.smi"

structure BinUtils =
struct
  val assemble : {source: Filename.filename, flags: ShellUtils.arg list,
                  object: Filename.filename} -> unit
  val link : {flags: ShellUtils.arg list, objects: Filename.filename list,
              libs: ShellUtils.arg list, dst: Filename.filename,
              useCXX: bool} -> unit
  val partialLink : {objects: Filename.filename list, dst: Filename.filename}
                    -> unit
  val archive : {objects: Filename.filename list, archive: Filename.filename}
                -> unit
end
